#include <iostream>
#include <string>
#include <vector>
#include <functional>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
#include <stdlib.h>
using namespace std;

//long int or long long int
uint64_t count = 0;

void catchSig(int signum)
{
    cout << "进程捕捉到了一个信号" << signum << " Pid: " << getpid()
         << " final count: " << count << endl;
}

int main(int argc, char *argv[])
{
    // 验证1s之内 一共会进行多少次count++
    // 1. count最大只到10w：cout + 网络远距离发送 = IO
    alarm(1); // 这个闹钟一旦触发就自动移除 一次性闹钟
    /*
    int count = 0;
    while (true)
    {
        cout << "count: " << count << endl;
        count++;
    }
    */

    // 2. 如果单纯向计算算力呢？
    signal(SIGALRM, catchSig);
    while (true)
        count++;
    return 0;
}